package com.itheima.service;



import com.itheima.entity.PageResult;
import com.itheima.pojo.Menu;
import com.itheima.pojo.Permission;
import com.itheima.pojo.Role;

import java.util.List;
import java.util.Map;


/**
 * 角色管理  服务接口
 */

public interface RoleService {


    //角色管理  分页查询
    PageResult findPage(Integer currentPage, Integer pageSize, String queryString);

    //角色管理  模糊查询
    PageResult query(String queryString);

    //角色管理  新增角色
    void add(Role role);

    //回显角色数据
    Role findById(Integer groupId);

    //编辑角色
    void edit(Role role);

    //删除角色
    void deleteById(Integer id);

    //发送请求获取页面回显参数  权限
    List<Permission> QueryAuthority();

    //发送请求获取页面回显参数  菜单
    List<Menu> InquiryMenu();

    //回显权限选择项数据
    List<Integer> jurisdictionIds(Integer jurisdictionId);

    //回显菜单选择项数据
    List<Integer> menuIds(Integer menuId);

    //分配权限与菜单   权限
    void jurisdictionId(List<Integer> jurisdictionIds, Integer id);

    //分配权限与菜单   菜单
    void menuId(List<Integer> menuIds, Integer id);


    boolean check(Integer id);

    /**
     * 根据roleId查询所用的user的id
     */
    List<Integer> findUserIdsByRoleId(Integer roleId);

    /**
     * 存入角色和用户的关系表
     */
    void editUser(Integer[] userIds,Integer Rid);
}
